﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using StuertzDatenbank;

namespace StuertzDatenbank
{
    public partial class BenutzerverwaltungGui : Form
    {
        private Sprachfile sprachfile;
        private DBF dbf;
        public BenutzerverwaltungGui(Benutzer benutzer)
        {
            this.benutzer = benutzer;
            dbf = new DBF();
            sprachfile = new Sprachfile();
            InitializeComponent();
            InitializeComponentChange();
            benutzercontrolle();
            Refresh();
        }

        private void benutzercontrolle()
        {
            this.BenutzerBearbeiten.Visible = false;
            this.BenutzerHinzufügen.Visible = benutzer.getRolle().getRechte().Benutzererstellen;
            this.Rollenverwaltung.Visible = false;

            if (benutzer.getRolle().getRechte().Benutzerbearbeiten | benutzer.getRolle().getRechte().Benutzereinsehen | benutzer.getRolle().getRechte().Benutzerloeschen)
            {
                this.BenutzerBearbeiten.Visible = true;
            }

            if (benutzer.getRolle().getRechte().Rollebearbeiten | benutzer.getRolle().getRechte().Rolleeinsehen | benutzer.getRolle().getRechte().Rolleerstellen | benutzer.getRolle().getRechte().Rolleloeschen)
            {
                this.Rollenverwaltung.Visible = true;
            } 
        }

        private void InitializeComponentChange()
        {
            this.BenutzerBearbeiten.Text = sprachfile.Benutzerbearbeiten;
            this.BenutzerHinzufügen.Text = sprachfile.Benutzerhinzufügen;
            this.Rollenverwaltung.Text = sprachfile.Rollenverwaltung;
            this.Start.Text = sprachfile.Start;
            this.Text = sprachfile.Benutzerverwaltung;
        }

        private void Start_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            startgui gui = new startgui(benutzer);
            this.Dispose();
            gui.ShowDialog();
        }

        private void BenutzerHinzufügen_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            BenutzererstellenGui gui = new BenutzererstellenGui(benutzer);
            this.Dispose();
            gui.ShowDialog();
        }

        private void Rollenverwaltung_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            RollenGui gui = new RollenGui(benutzer);
            this.Dispose();
            gui.ShowDialog();
        }

        public Benutzer benutzer { get; set; }

        private void BenutzerBearbeiten_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            Benutzersuchengui  gui = new Benutzersuchengui(benutzer);
            this.Dispose();
            gui.ShowDialog();
        }
    }
}
